#define  _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include <algorithm>
#include <cmath>
using namespace std;
//int main()
//{
//	int n = 0;
//	cin >> n;
//	int maxnum = 0;
//	int minnum = 101;
//	int i = 0;
//	int t = 0;
//	for (i = 0; i < n; i++)
//	{
//		cin >> t;
//		maxnum = max(maxnum, t);
//		minnum = min(minnum, t);
//	}
//	int ret = maxnum - minnum;
//	cout << ret;
//}

//int main()
//{
//	int n = 0;
//	cin >> n;
//	int i = 0;
//	for (i = 2; i <= n; i++)
//	{
//		int j = 1;
//		int sum = 0;
//		for (j = 1; j < i; j++)
//		{
//			if (i % j == 0)
//			{
//				sum += j;
//			}
//		}
//		if (sum == i)
//		{
//			cout << i << endl;
//		}
//	}
//}

//int main()
//{
//	int n = 0;
//	int m = 0;
//	cin >> n >> m;
//	int i = 0;
//	int t = 0;
//	
//	double ret = 0;
//	for (i = 0; i < n; i++)
//	{
//		int j = 0;
//		int sum = 0;
//		int maxnum = 0;
//		int minnum = 101;
//		for (j = 0; j < m; j++)
//		{
//			cin >> t;
//		    sum += t;
//			maxnum = max(maxnum, t);
//			minnum = min(minnum, t);
//		}
//		double temp = (sum - maxnum - minnum)*1.0 / (m - 2);
//		ret = max(temp, ret);
//	}
//	printf("%.2f", ret);
//	return 0;
//}
//const int N = 201;
//struct S
//{
//	string name;
//	float a;
//	int flag;
//}arr[N];
//int main()
//{
//	int n = 0;
//	cin >> n;
//	int i = 0;
//	int t = 0;
//	for (i = 0; i < n; i++)
//	{
//		cin >> arr[i].name >> arr[i].a >> arr[i].flag;
//		if (arr[i].a >= 37.5 && arr[i].flag == 1)
//		{
//			cout << arr[i].name << endl;
//			t++;
//		}
//		cout << t;
//	}
//	return 0;
//}

bool test(int i)
{
	int j = 0;
	for (j = 2; j <= sqrt(i); j++)
	{
		if (i % j == 0)
		{
			return false;
		}
	}
	return true;
}
bool test(int i)
{

}
int main()
{
	int n = 0;
	cin >> n;
	int i = 0;
	int count = 0;
	for (i = 2; i+2 <= n; i++)
	{
		if (test(i)&&test2(i))
		{
			count++;
		}
	}
	cout << count;
	return 0;
}